home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / man / admin / boot.man < prev    next >
Encoding:
Text File  |  1991-10-28  |  10.3 KB  |  296 lines

  1. '\" Copyright 1989, 1991 Regents of the University of California
  2. '\" Permission to use, copy, modify, and distribute this
  3. '\" documentation for any purpose and without fee is hereby
  4. '\" granted, provided that this notice appears in all copies.
  5. '\" The University of California makes no representations about
  6. '\" the suitability of this material for any purpose.  It is
  7. '\" provided "as is" without express or implied warranty.
  8. '\" 
  9. '\" $Header: /sprite/src/man/admin/RCS/boot.man,v 1.5 91/10/28 12:04:45 kupfer Exp $ SPRITE (Berkeley)
  10. '/" 
  11. .so \*(]ltmac.sprite
  12. .HS BOOT admin
  13. .BS
  14. '\" Note:  do not modify the .SH NAME line immediately below!
  15. .SH NAME
  16. boot \- Description of Sprite boot options and behavior 
  17. .SH OPTIONS
  18. .PP
  19. There are a number of boot options that can be used to change the boot
  20. behavior. If you are unfamiliar with the booting process you should
  21. read the subsequent sections before this one.
  22. .IP "\fB-c\fR" 15
  23. Causes a fileserver to ignore the existence of /bootTmp/boot and to
  24. boot as a dependent fileserver. 
  25. This is useful for booting fileservers with trashed disks.
  26. .IP "\fB-f\fR" 15
  27. Causes a fileserver to boot without checking its disks.
  28. This can lead to corrupted disks if the disks are not consistent before
  29. they are attached. 
  30. The \fB-f\fR option should not be used if the system halted abnormally.
  31. .IP "\fB-s\fR" 15
  32. The \fB-s\fR option causes the machine to boot in single-user mode.
  33. A login shell is run by initsprite before both diskcmds and bootcmds.
  34. Initsprite will continue when the login shell exits.
  35. .IP "\fB-x\fR" 15
  36. If the machine is a fileserver it will
  37. run /boot/rootcmds after running /boot/diskcmds.
  38. This option allows a non-root fileserver to serve as root.
  39. Only the root fileserver has the correct mount table for exporting
  40. "/" -- the rootcmds file contains the necessary commands for allowing
  41. a non-root fileserver to export "/". 
  42. .BE
  43. .SH DESCRIPTION
  44. .PP
  45. The first couple sections of this man page are a user's guide to
  46. booting Sprite.  Note that these are general instructions; each file
  47. server should have its specific booting instructions posted near its
  48. console.
  49. .PP
  50. The rest of the man page goes into more detail about the boot process
  51. and is probably of interest only to people who hack Sprite.
  52. .SH "BOOTING SUNS"
  53. .PP
  54. For all Suns except SPARCstation 2's the boot command typed at the
  55. PROM has the format
  56. .DS
  57. \fBb \fIxx\fB(\fIa,b,c\fB)\fIkernel\fR [\fIoptions\fR]
  58. .DE
  59. .PP
  60. For machines that are booted off of the network \fIxx\fR is usually
  61. .B ie
  62. or
  63. .BR le ,
  64. depending on whether the machine has an Intel or Lance ethernet chip.
  65. For machines that boot off their disk,
  66. .I xx
  67. is usually
  68. .BR sd .
  69. For SPARCstation 2's the boot command is 
  70. .DS
  71. \fBb\fR [\fIdevice\fR] \fIkernel\fR [\fIoptions\fR]
  72. .DE
  73. .PP
  74. where 
  75. .I device
  76. is usually 
  77. .B net
  78. or
  79. .BR disk .
  80. (For SPARCstation 2's running Sprite at Berkeley, 
  81. .I device
  82. normally defaults to
  83. .BR net .)
  84. .PP
  85. The magic numbers
  86. .I a, b, c
  87. in parentheses are usually optional.  They specify information about
  88. the host that supplies the kernel (for booting off the net), disk
  89. partition, etc.
  90. For network booting, the middle number is the last four digits of the
  91. IP address of the
  92. server.  You only need to specify this number if the default doesn't
  93. work.  For example, to ensure that Murder boots off of Allspice (IP
  94. address 128.32.150.27), use 
  95. .DS
  96. .B 
  97. b le(0,961b)sun3.md/sprite
  98. .DE
  99. .PP
  100. and to boot off of Ginger (IP address 128.32.150.28), use
  101. .DS
  102. .B 
  103. b le(0,961c)sun3.md/sprite
  104. .DE
  105. .PP
  106. The string \fIkernel\fR tells which kernel to load and boot.  When
  107. booting off a disk, 
  108. .I kernel
  109. is usually just the name of the kernel, e.g., ``new'' or ``sprite''.
  110. When booting off the net, you must also specify the machine-dependent
  111. directory that the kernel is found in, e.g., ``sun3.md/new''.  Use
  112. .B sun3.md
  113. for Sun 3's,
  114. .B sun4.md
  115. for Sun 4's,
  116. and
  117. .B sun4c.md
  118. for SPARCstation 1's and 2's.
  119. .SH "BOOTING DS3100's"
  120. .PP
  121. The basic boot command for a DECstation 3100 is
  122. .DS
  123. \fBboot -f \fIproto\fB()\fIkernel\fR [\fIoptions\fR]
  124. .DE
  125. .PP
  126. where
  127. .I proto
  128. is either
  129. .B tftp
  130. or
  131. .BR mop .
  132. Generally
  133. .B mop
  134. is preferred, since it is faster and more reliable.  Unfortunately, it
  135. provides no feedback until the kernel starts running, so you have to
  136. put up with a 10-30 second pause before there's any sign of life.
  137. .PP
  138. The 
  139. .I kernel
  140. string depends on whether the DECstation knows what server to use.
  141. The simplest rule is to always type
  142. .B init
  143. to the PROM before booting, and use only the kernel name (e.g.,
  144. ``sprite'' or ``new'') for
  145. .IR kernel .
  146. .SH "BOOTING DS5000's"
  147. .PP
  148. The boot command for a DECstation 5000 looks like
  149. .DS
  150. \fB boot \fIslot\fB/\fIxxx\fB/\fIkernel\fR [\fIoptions\fR]
  151. .DE
  152. .PP
  153. The 
  154. .I slot
  155. string is the slot number for the device being booted from.  You can
  156. use the PROM's
  157. .B cnfg
  158. command to get a list of what devices are installed at what slots.
  159. Sprite DECstations typically have two ethernets installed; you should
  160. boot from the lower-numbered ethernet.
  161. .PP
  162. The
  163. .I xxx
  164. string is the protocol type when booting from the net.  Use
  165. .BR mop .
  166. It is the disk name (e.g., ``rz0'') when booting from the disk.
  167. .PP
  168. The
  169. .I kernel
  170. string is just the name of the kernel (e.g., ``new'').
  171. .SH WHERE KERNELS LIVE
  172. .PP
  173. Machines that boot off of their own disk typically have a small boot
  174. partition, such as
  175. /allspiceA or /lustA.  In this case the kernel
  176. .B new
  177. would be installed as
  178. /allspiceA/new.
  179. .PP
  180. Kernels that are downloaded from a Sprite server are installed in
  181. /sprite/boot (e.g., /sprite/boot/sun3.md/new).
  182. .PP
  183. As a last resort kernels can also be downloaded from Ginger.  Those
  184. kernels are installed in /tftpboot (e.g., /tftpboot/sun3.md/new).
  185. Suns that boot off of Ginger must have a link in /tftpboot to their
  186. boot program.  See the documentation for
  187. .BR boot (8S)
  188. on Ginger.
  189. .SH "BOOT SEQUENCE"
  190. .PP
  191. .B WARNING:
  192. This section is rather dated and is probably inaccurate in spots.
  193. .PP
  194. This section outlines the sequence of events that occur during the boot
  195. process.  
  196. The command typed at the prom is used to start the downloader, then download
  197. the kernel from the server and start execution. 
  198. The early part of the boot is the same on all machines. 
  199. Kernel data structures are set up and kernel processes started.
  200. Late in the boot the machine checks for the presence of a disk, and it
  201. starts the first user process \fIinitsprite\fR.
  202. The actions initsprite takes vary depending on the configuration
  203. of the machine.
  204. There are three standard machine configurations.
  205. \fIClients\fR are diskless workstations.
  206. They are dependent on the root fileserver to complete the boot process.    
  207. Machines with disks must check them during boot for inconsistencies.
  208. Checking the disks requires the \fIfscheck\fR and 
  209. \fIfsattach\fR programs, and related
  210. data files.
  211. \fIStandalone fileservers\fR have these utilities on their own disk,
  212. and are therefore able to check their disks without the root fileserver.
  213. \fIDependent fileservers\fR have a disk, but it does not contain
  214. the needed files.  Dependent fileservers must get these files from the
  215. root file server.
  216. .IP "Clients"
  217. /boot/initsprite is exec'ed as the first user process. 
  218. If "/" is unavailable the workstation will wait indefinitely, checking
  219. for "/" at 1 minute intervals.
  220. Initsprite will run /hosts/\fIhostname\fR/bootcmds 
  221. if it exists and /boot/bootcmds
  222. otherwise.
  223. .IP "Dependent fileservers"
  224. Fileservers will detect the presence of a disk and attach it as "/bootTmp".
  225. This prefix is local to the machine and is not exported. 
  226. If the directory /bootTmp/boot is not found, then the fileserver assumes
  227. it is a dependent fileserver.
  228. /boot/initsprite is exec'ed as the first user process.
  229. Initsprite will run /boot/diskcmds to verify that the disks are not
  230. corrupted.
  231. The table used to mount the disks is found in /hosts/$HOST/mount.
  232. Upon completion the machine will try to find a server of "/".
  233. If no server for "/" is found the workstation will retry at 1 minute intervals.
  234. Once a server is found, 
  235. /hosts/\fIhostname\fR/bootcmds or /boot/bootcmds is run.
  236. Initsprite will delete the "/bootTmp" prefix prior to exiting.
  237. .IP "Standalone fileservers"
  238. A standalone fileserver will attach its disk as /bootTmp and then
  239. check for /bootTmp/boot.
  240. Having found this directory it will create a new prefix "/" using
  241. the /bootTmp prefix. These prefixes are now synonyms and are local to the
  242. machine.
  243. The standalone fileserver can then proceed with the boot in the same manner
  244. as a dependent fileserver.  /boot/diskcmds is run. Unlike a dependent
  245. fileserver, /boot/diskcmds is on the machine's own disk.
  246. The mount table is found in /hosts/$HOST/mount, also on the machine's own
  247. disk.
  248. At some point in the boot the machine has to stop being its own server of
  249. "/" and look for the real server.
  250. This happens after diskcmds has been run. 
  251. The machine will delete the "/" prefix and try to open "/".
  252. If the open fails the machine will try again at 1 minute intervals.
  253. Once "/" is found the appropriate bootcmds is run.
  254. Initsprite will delete the "/bootTmp" prefix prior to exiting.
  255. .SH FILES
  256. .TP
  257. /boot
  258. /boot is a directory that contains all of the files and utilities needed
  259. to boot a Sprite machine.  Standalone fileservers each have a /boot directory
  260. on their local disk and will use it during the boot process. 
  261. .TP
  262. /boot/cmds
  263. Contains utility programs needed during boot.
  264. .TP
  265. /boot/diskcmds
  266. Run by fileservers to check their disks. Note that dependent fileservers
  267. run the diskcmds found on the root fileserver.
  268. .TP
  269. /hosts/\fIhostname\fR/mount
  270. The mount table read by fileserver \fIhostname\fR.
  271. Standalone fileservers should have a copy of their mount table in
  272. /hosts/\fIhostname\fR/mount on both the local disk and the root fileserver.
  273. .TP
  274. /boot/serverInfo
  275. Provides machine name and type information to standalone fileservers.
  276. Standalone fileservers cannot depend upon the root fileserver being able to
  277. provide /etc/spritehosts (the usual place this information is found) so
  278. they need their own file.  The file should consist of the appropriate
  279. line from /etc/spritehosts.
  280. .TP
  281. /boot/bootcmds
  282. This file is unique to the whole system. Standalone fileservers DO NOT look
  283. in their local /boot for this file. bootcmds contains commands for starting
  284. various user-level servers and other system configuration commands.
  285. .TP
  286. /hosts/\fIhostname\fR/bootcmds
  287. If this file exists it is run instead of /boot/bootcmds.
  288. .TP
  289. /boot/rootcmds
  290. This file contains the commands necessary for a backup root server to
  291. actually export root.
  292. In the normal case the file will contain the single line "prefix -x / -l /bootTmp".
  293. .SH KEYWORDS
  294. boot, bootcmds, diskcmds, rootcmds
  295.  
  296.